In almost every activity involving electrical devices, some manner of data transmission is necessary to enable communication between the devices. This communication may be transmitted between the devices over a communication channel such as copper wires, optical fibers, wireless communication channels and storage media. The transmitted data may be represented as an electromagnetic signal such as, for example, an electrical voltage, radio wave, microwave or an infrared signal. The signal may be transmitted as an analog signal, which is a transfer of a continuously varying signal, or the signal may be transmitted as a digital signal, which is a transfer of discrete messages that may be represented as a code modulated on the transmission carrier as, for example, a baseband transmission or a passband transmission. The discrete messages may be represented as a bit stream or a digitized analog signal.
In many communication systems, a signal transmitted from a sending device to a receiving device often involves transmission of the signal across different communication media. Such a hybrid transmission path may sometimes require that different data rates be transmitted on particular media due to different capabilities of the media, different quality of service (QoS) requirements or different service level agreements, for example. Sometimes a signal transmitted from a sending device to a receiving device includes traversal of only a single communication medium, but an amount of data provided by the sending device may exceed a capacity of the communication medium.
In that regard, there can be a need to convert the sampling rate of a digital signal from a higher to a lower sampling rate to reduce processing speed requirements or resources. A rational fraction rate change of
                    U        D                                        can be implemented by first up-sampling by a sample rate U, then by filtering the interpolated signal to remove the interpolation images and finally down-sampling by a sample rate D. However, this is not an efficient method to implement in hardware as it may require higher processing speeds and more resources to initially up-sample the signal by a factor of U than the hardware will support or is economically feasible.
Changes to sampling rates can be efficiently implemented through a digital filter called a polyphase Finite Impulse Response (FIR) Rate Change Filter (RCF). The RCF may be implemented as a polyphase FIR filter, in which every output sample y(m) is generated by multiplying the input stream with a subset (phase) of the filter coefficients and summing the resulting products according to the following equation:
                                          y            ⁡                          (              m              )                                =                                    ∑                              n                =                0                                            Ntap                -                1                                      ⁢                                                  ⁢                                          h                ⁡                                  (                                      nU                    +                    mD                    -                                                                  ⌊                                                  mD                          U                                                ⌋                                            ⁢                      U                                                        )                                            ×                              x                ⁡                                  (                                                            ⌊                                              mD                        U                                            ⌋                                        -                    n                                    )                                                                    ,                                  ⁢                  m          ∈                                    [                                                0                  ⁢                                      :                                    ⁢                                                                          ⁢                                      ⌈                                                                                            L                          x                                                ×                        U                                            D                                        ⌉                                                  -                1                            ]                        .                                              (                  Eq          .                                          ⁢          1                )            
Where:
Ntap is the number of taps, i.e., the number of coefficients per phase;
h is the filter impulse response;
x is the input stream;
y is the output stream;
U is the up-sampling factor;
D is the down-sampling factor;
Lx is the length of the input stream x;
m is the index of output stream y, with length
      ⌈                            L          x                ×        U            D        ⌉    ;
n is the filter tap index;
└a┘ is the rounding function towards minus infinity, i.e., the floor function; and
┌a┐ is the rounding function towards plus infinity, i.e., the ceiling function.
The up-sampling and down-sampling factors are simply determined by the ratio of the filter input and output sample rates. For example, a stream having rate changed from 500 MHz to 400 MHz, the U and D factors could be any combination of integers that produces a ratio of 0.80. The up-sampling and down-sampling factors could be, for example: U=40 and D=50. The length of the filter impulse response is partly determined by the up-sampling factor:Filter impulse response length=Ntap*U.  (Eq. 2):
In recent communication systems, sample data rates are becoming faster, while requiring complex digital signal processing functions. These rates can be too fast to be realizable in digital hardware using a direct method of implementation in existing technologies such as Application Specific Integrated Circuits (ASICs) and Field Programmable Gate Arrays (FPGAs).
When the procession speed required exceeds the hardware limitations, direct form implementation of the Fractional RCF, as discussed above, is not a viable solution. Therefore parallel branching of the data paths may be used to reduce the required internal processing speed of the hardware, but at the expense of resources. In this invention of a Fractional Rate Change Filter with an
                    U        D                                        ratio of less than one, the signal processing functions must be modified at the algorithm level to implement parallel branching. An output rate of a polyphase Finite Impulse Response (FIR) Rate Change Filter is limited by the operating speed of the hardware. Further, control and coordination of the branches of the hardware resources requires specialized handling.